//引入axios
import axios from "axios";
// 
import {Loading} from 'element-ui'
//axios.create可以帮助我们创建一个实力对象(其实他所创建的这个实力对象就是axios对象)
//创建实例 
const request = axios.create({
    // baseURL : "/dev-api",
    baseURL : process.env.VUE_APP_SERVICE_URL, 
    timeout : 5000, //请求超时时间
});

 let loading = null;
// const loading={
//     loadingStance : null,
//     open:function(){
//         console.log("111")
//         if(this.loadingStance === null){  //防止切换路由时重复加载
//             this.loadingStance = Loading.service({
//                 target:".hader_right",
//                 text:"拼命加载中",
//                 background : "rgba(0,0,0,0.5)"
//             });
//           }  
//     },
//     close:function(){
//         if(this.loadingStance!== null){
//             this.loadingStance.close();
//         };
//         this.loadingStance = null;
//     }
// }

//添加拦截器
//请求拦截
request.interceptors.request.use(
    config=>{
    // 在发送请求之前做些什么

       if(!loading){
         loading = Loading.service({
            target:".hader_right",
            text:"拼命加载中",
            background : "rgba(0,0,0,0.5)"
         });
       }  

    return config;
},error=>{
    //  对请求错误做些什么
     loading.close();
    return Promise.reject(error);
})

//响应拦截
request.interceptors.response.use(response=>{
    // 在响应成功之前做些什么
      if(loading){
          loading.close()
      }
    return response;
},error=>{
    // 对响应失败做些什么
    loading.close();
    return Promise.reject(error);
})




//导出request对象
export default request;
